package cn.cdeden.aiqa.service;

import cn.cdeden.aiqa.domain.ExpertApp;
import cn.cdeden.aiqa.domain.WikiApp;
import cn.cdeden.aiqa.domain.vo.ExpertAppVo;
import cn.cdeden.aiqa.domain.vo.UserMessageVo;
import cn.cdeden.common.core.utils.page.TableDataInfo;
import cn.cdeden.common.mybatis.core.page.PageQuery;

import java.util.List;

public interface ExpertAppService {
    /**
     * 新建专家库-应用
     * @param expertApp
     * @return
     */
    ExpertApp createExpertApp(ExpertApp expertApp);


    /**
     * 修改专家库-应用
     * @param expertApp
     * @return
     */
    void updateExpertApp(ExpertApp expertApp);


    /**
     * 删除专家库-应用
     * @param ids
     */
    public void deleteExpertApps(List<Long> ids);


    /**
     * 分页查询应用
     * @param appName
     * @param pageQuery
     * @return
     */
    TableDataInfo<ExpertAppVo> getAllExpertApps(String appName, String wikiNames, String userName, PageQuery pageQuery);


    /**
     * 增加问答次数
     * @param appId
     */
    boolean crCount(Long appId);

    ExpertApp getRemoteExpertApp();

    Long getByUserId(Long userId);

    ExpertApp getDataBaseIdByUserId(Long userId);

    UserMessageVo getUserMessage(Long id);

    List<ExpertApp> getAuthorizedApps(int open);


    ExpertApp getById(Long id);


}
